#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>

#include "updater.w.h"
#include "updater.types.h"
#include "updater.w.string.h"
#include "updater.w.memory.h"

INT w_system(const CHAR *pc_command)
{
    INT i_rv;

    i_rv = system(pc_command);
    RETURN(i_rv);
}

VOID w_printf(CHAR * pc_format, ...)
{
    va_list args;
    va_start(args,pc_format);
    vprintf(pc_format,args);
    va_end(args);
}

VOID w_perror(const CHAR * pc_str)
{
    perror(pc_str);
}

CHAR * w_get_pwd(VOID)
{
    CHAR * pc_ret;
    INT i_len;
    CHAR * pc_env = getenv("PWD");

    if (NULL == pc_env)
    {    
        RETURN( NULL );
    }

    i_len = w_strlen(pc_env);

    if (i_len <= 0)
    {
        RETURN(NULL);    
    }

    pc_ret = w_calloc(1, i_len);
    if (NULL == pc_ret)
    {
        RETURN(NULL);
    }

    w_strncpy(pc_ret, pc_env, i_len);

    RETURN(pc_ret);
}
